package com.example.crm01.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.crm01.entity.Client;
import com.example.crm01.service.form.client.ClientAddForm;
import com.example.crm01.service.form.BaseIdForm;
import com.example.crm01.service.form.client.ClientListForm;
import com.example.crm01.service.vo.client.ClientMonthSumVO;


public interface ClientService extends IService<Client> {

    /**
     * 客户列表
     *
     * @param form
     * @return
     */
    Page<Client> selectClientList(ClientListForm form);

    /**
     * 客户新增
     *
     * @param form
     * @return
     */
    Boolean insertClient(ClientAddForm form);

    /**
     * 客户修改
     *
     * @param form
     * @return
     */
    Boolean updateClient(ClientAddForm form);

    /**
     * 客户删除
     * @param form
     * @return
     */
    Boolean deleteClient(BaseIdForm form);

    /**
     * 客户详情
     * @param form
     * @return
     */
    Client detailsClient(BaseIdForm form);

    /**
     * 当月客户数
     * @return
     */
    ClientMonthSumVO searchClientMonth();
}
